Collaborating:
You and your collaborators (including your
future self) can access the code and its history
Reproducible:
Your code runs and produces identical results
at different time points and on different systems
Colloquium | 13/01/2021
You and your collaborators (including your
future self) can access the code and its history
Your code runs and produces identical results
at different time points and on different systems
Needs a cool image :)
here-package (Müller, 2020) to define relative paths within the project: read.csv(here::here("data", "file_I_want.csv"))Also needs a cool image :)
knitr (Xie, 2015, 2020) and tinytex (Xie, 2015, 2020; for pdfs)install.packages("rmarkdown") (Allaire et al., 2017)install.packages("knitr") (Xie 2015, 2020)install.packages("rmarkdown") (Allaire et al., 2017)install.packages("knitr") (Xie 2015, 2020)install.packages("rmarkdown")
knitr-package (Xie, 2014, 2015, 2020) to customize chunks and knitting process
{r cache=TRUE,message=FALSE,warning=FALSE,results="hide", error = TRUE}opts_chunk$set()-functionTinyTeX (Xie, 2010) is a light-weight, cross-platform distribution (install.packages("tinytex"); tinytex::install_tinytex()))Papaja-package (Aust & Barth, 2020) contains an R Markdown template for APA manuscripts, and helper functions to report results and generate tables in APA-style#/*
rmarkdown::render(input = rstudioapi::getSourceEditorContext()$path,
output_format = rmarkdown::github_document()),
knit_root_dir = getwd()) #*/
update.packages(ask = FALSE, checkBuilt = TRUE))git --version. If “git: command not found”:xcode-select --install. Restart R.git config --global user.name 'your name'git config --global user.email 'email associated with your GitHub account'git config --global --list (Check whether everything worked)https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.gitC:/Program Files/R/R-4.0.2/library or the like)install.packages() to install packages in this local libraryrenv.lock fileinstall.packages(renv)renv::init()renv::snapshot(). This will write the current version of all packages that are installed (and used) in the project to the lockfile.renv::restore()Instead of step #2, you can also select “Use renv with this project” during project creation.
Restoring someone else’s package versions:
projectname.Rproj file)renv::restore() to install the package versions from the renv.lock fileN:/)remotes::install_github() and the like. Note, however, that at least on Windows, you may need to install additional tools for building these packages (via renv::equip() and/or from https://cran.r-project.org/bin/windows/Rtools/).Rmd files) on this virtual systemDockerfile that can be shared via GitHubdocker run -d -e PASSWORD=1234 -p 8787:8787 -v /path/to/your/project:/home/rstudio/ rocker/rstudio
Dockerfile in your project directy, specyfing additional steps to execute when building the container, e.g., install.packages("renv"); renv::restore()# This as a text file stored with the name "Dockerfile" in your project directory.
# Base image from Docker Hub, including R, RStudio, the tidyverse, and LaTeX
FROM rocker/verse:4.0.2
# Set working directory within the container
WORDIR /home/rstudio
# Install renv
RUN R -e "remotes::install_version('renv', version = '0.12.0', repos = 'http://cran.us.r-project.org')"
# Copy the lock file
COPY renv.lock renv.lock
# Install package versions stored in the lockfile
RUN R -e "renv::consent(provided = TRUE)"
RUN R -e "renv::restore(prompt = FALSE)"
Dockerfile for you if you don’t have your own oneNeeds a cool image
install.packages("rmarkdown") and install.packages("knitr")# Random number generation), a text (“Here, we generate 10 random numbers between 0 and 10”), and an r code chunk ('''{r} sample(0:10, 10, replace = FALSE)''').renv::init()renv.lock fileinstall.packages("cowsay")
.Rmd files):cowsay::say("Hello world", "cow")
renv::snapshot()